<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // concat()  数组合并/拼接 => 将多个数组或元素合并为一个新数组
    // 如果合并的是数组,则将数组中的每个元素放到新数组中
    // 如果合并的是非数组,直接放到新数组中

    // 返回值: 数组合并后的新数组
    // 是否影响原数组  不影响

    // var arr = [1, 2, 3];
    // var brr = [4, 5, 6];
    // var crr = [7, 8, 9];
    // 创建新数组 []  将 arr brr crr中的每个元素放到新数组中

    // var result = arr.concat(brr, crr);
    // var result = arr.concat("hello", brr, "world", crr);
    // console.log(result);
    // console.log(arr, brr, crr);


    // 应用: 数组的复制  => 得到一个与原数组元素相同的新数组  (有些方法会影响原数组,能否在不影响原数组的情况下,执行该方法   => 先复制一个与原数组元素相同的新数组,在操作新数组)

    // var list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    // var result = list.concat();  // 创建新数组 [] 将 list 中的每个元素放到新数组中
    // console.log(result);
    // console.log(list);

    // slice(startIndex,endIndex)  数组裁切  [startIndex,endIndex)
    // startIndex 起始下标(默认:0)
    // endIndex  终止下标(默认:数组.length)

    // 实际上就是指定了起始下标和终止下标,遍历原数组,将范围内的元素放到新数组中

    // var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    // var result = arr.slice(3, 6); // 下标[3,6)
    // console.log(result);

    //  前端分页  每三个截取一次
    /* var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];

    //1  arr.slice(0, 3); // [0,3)
    //2  arr.slice(3, 6); // [3,6)
    //3  arr.slice(6, 9); // [6,9)

    var n = Math.ceil(arr.length / 3); // 截取几次

    var list = [];
    for (var i = 1; i <= n; i++) {
        // 1
        var result = arr.slice(3 * (i - 1), 3 * i);
        console.log(result);
        list.push(result);
    }

    console.log(list); */

    // 数组复制   得到一个与原数组元素相同的新数组  (有些方法会影响原数组,能否在不影响原数组的情况下,执行该方法  => 先复制一个与原数组元素相同的新数组,在操作新数组)

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    var result = arr.slice();  // [0,arr.length)
    console.log(result);









</script>

</html>